package com.tzl.util;

import lombok.Data;

import java.util.HashMap;
import java.util.Map;

@Data
public class R {
	private Integer code; // 响应码
	private String message; // 响应消息
	private Map<String, Object> data = new HashMap<>(); // 返回的数据
	//返回成功的响应
	public static R ok() {
		R r = new R();
		r.setCode(ResponseEnum.SUCCESS.getCode());
		r.setMessage(ResponseEnum.SUCCESS.getMessage());
		return r;
	}
	//返回失败的响应
	public static R error() {
		R r = new R();
		r.setCode(ResponseEnum.ERROR.getCode());
		r.setMessage(ResponseEnum.ERROR.getMessage());
		return r;
	}
	//根据ResponseEnum设置响应结果
	public static R setResult(ResponseEnum responseEnum) {
		R r = new R();
		r.setCode(responseEnum.getCode());
		r.setMessage(responseEnum.getMessage());
		return r;
	}
	//设置响应消息
	public R message(String message) {
		this.setMessage(message);
		return this;
	}
	//设置响应码
	public R code(Integer code) {
		this.setCode(code);
		return this;
	}
	//设置响应数据
	public R data(String key, Object value) {
		this.data.put(key, value);
		return this;
	}
	//设置多个响应数据
	public R data(Map<String, Object> map) {
		this.setData(map);
		return this;
	}
}
